---
title: noaa-apt image decoder
layout: landing
---

<!-- Main -->
<div id="main" class="wrapper style1">
	<section class="container">

		<div class="row">

			<div id="sidebar" class="4u sidebar">

				<section>
					<form action="https://www.paypal.com/donate" method="post" target="_top">
						<input type="hidden" name="hosted_button_id" value="LDJE2ZTGFYR2G" />
						<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif" border="0" name="submit" title="PayPal - The safer, easier way to pay online!" alt="Donate with PayPal button" />
						<!-- <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1" /> -->
					</form>
				</section>
				<section>
					<img src="images/index_sidebar.jpg" alt="Example image"/>
					Example image of Europe, the quality of the images depend mostly on
					the antenna. Credit: JKamue
				</section>
				<section>
					<img src="images/index_sidebar_2.jpg" alt="Example image"/>
					Another image, but with false color.
				</section>
			</div>

		<div id="content" class="8u skel-cell-important">
			<header class="major">
				<h2>Receive and decode images from weather satellites</h2>
				<span class="byline">Free (GPLv3) NOAA APT decoder, available
					for GNU/Linux, Windows, Raspberry Pi 2+, OSX and Android+Termux</span>
			</header>

			<p>
				<em>noaa-apt</em> takes a recorded WAV file and decodes the image. As an
				example,
				<a href="{{ site.baseurl }}/examples/argentina.wav"> this is a WAV file I recorded using GQRX</a>
				using a RTL-SDR and a double cross antenna.
				When loading that file on <em>noaa-apt</em>, you get as a result
				<a href="{{ site.baseurl }}/examples/argentina.png">this image</a>.
			</p>

			<h3>Why?</h3>

			<p>
				NOAA satellite reception is fun, cheap and relatively easy. You can buy
				a <a href="https://osmocom.org/projects/rtl-sdr/wiki/Rtl-sdr">RTL-SDR</a>
				for less than 30USD, it looks like a USB drive but it has a connector
				for antennas. Using SDR software like <em>GQRX</em> and <em>SDR#</em>
				you can receive FM signals, for example broadcast FM (around 100MHz) or
				better, receive APT signals from NOAA satellites (around 137MHz) and
				then decode them with <em>noaa-apt</em>.
			</p>

			<p>
				I made
				<em>noaa-apt</em> because <em>WXtoIMG</em>, the most popular decoding
				software, it's propietary and
				<a href="https://www.rtl-sdr.com/notice-wxtoimg-website-down/">no longer maintained</a>,
				but you can get old recovered versions from an
				<a href="https://wxtoimgrestored.xyz/">unofficial website</a>. Also, the
				<a href="{{ site.baseurl }}/guide.html#wxtoimg-guide">
					steps required to decode WAV files on it
				</a>
				are not that obvious.
			</p>

			<p>
				There are lots of really good
				<a href="{{ site.baseurl }}/alternatives.html">Alternatives</a>, but all
				of them require compilation, Python or don't provide graphical user
				interfaces. So I wanted to create an easy to use alternative for Windows
				users, being useful to advanced GNU/Linux users doing some kind of
				automation too.
			</p>

			<h3>Disadvantages</h3>

			<p>
				<em>WXtoIMG</em> has better false-color and image overlays, also has
				features <em>noaa-apt</em> does not have (like live decoding). Anyways,
				the quality of the black and white image should be the same in both
				programs.
			</p>

			<p>
				If you get some kind of error or bad result open a Issue or send me an
				email. Both the code and the website is on the
				<a href="https://github.com/martinber/noaa-apt">GitHub repository</a>.
			</p>

			<h3>Screenshot</h3>

			<img src="images/gui.png" alt="GUI"/>

			<h3>About NOAA images</h3>

			<ul>
				<li>
					NOAA satellites are transmitting images 24/7, and the image you
					receive is a <strong>real-time image of your location</strong>. The
					transmission is free to be received by anyone with an antenna, and
					there is no <em>official</em> decoder or receiver.
				</li>

				<li>
					NOAA <strong>images are black and white</strong>. When you see a color
					image it means it was colorized.
				</li>

				<li>
					NOAA <strong>images do not have map lines</strong> (divisions between
					countries, states, or coastlines). When you see images with lines, it
					means that they used noaa-apt or WXtoImg to draw them according to a
					map and calculations about the position of the satellite when the
					image was taken.
				</li>

				<li>
					The <strong>images are upside down 50% of the time</strong>, that's
					because the satellites sometimes go from south to north and sometimes
					from north to south. noaa-apt and WXtoImg can calculate the orbit of
					the satellite and rotate the image accordingly.
				</li>

				<li>
					Images look <strong>much better on daylight</strong>, the satellites
					also send infrared images at night but I recommend receiving passes
					when the sun is high in the sky.
				</li>
			</ul>

			<h3>Features</h3>

			<ul>
				<li>Decode raw images from WAV files.</li>
				<li>Add map overlays with countries, states, provinces and lakes.</li>
				<li>False color.</li>
				<li>Really easy to use (at least easier than other decoders).</li>
				<li>Histogram equalization.</li>
				<li>You can disable syncing and export every step of the decoding
					process, useful for corrupted recordings.</li>
				<li>Telemetry band reading.</li>
				<li>Resample WAV files preserving modification timestamps.</li>
				<li>Modify timestamps of files.</li>
				<li>Edit filter parameters from a configuration file.</li>
				<li>Rotate the output image, in case of ascending (South to North) passes.</li>
			</ul>

			<!-- Content -->
			<!--
				<div class="6u">
					<section>
						<ul class="style">
							<li>
								<span class="fa fa-wrench"></span>
								<h3>Integer ultrices</h3>
								<span>In posuere eleifend odio. Quisque semper augue mattis wisi. Maecenas ligula. Pellentesque viverra vulputate enim.</span>
							</li>
							<li>
								<span class="fa fa-cloud"></span>
								<h3>Aliquam luctus</h3>
								<span>Pellentesque viverra vulputate enim. Aliquam erat volutpat. Maecenas condimentum enim tincidunt risus accumsan.</span>
							</li>
						</ul>
					</section>
				</div>
				<div class="6u">
					<section>
						<ul class="style">
							<li>
								<span class="fa fa-cogs"></span>
								<h3>Integer ultrices</h3>
								<span>In posuere eleifend odio. Quisque semper augue mattis wisi. Maecenas ligula. Pellentesque viverra vulputate enim.</span>
							</li>
							<li>
								<span class="fa fa-leaf"></span>
								<h3>Aliquam luctus</h3>
								<span>Pellentesque viverra vulputate enim. Aliquam erat volutpat. Maecenas condimentum enim tincidunt risus accumsan.</span>
							</li>
						</ul>
					</section>
				</div>
			-->

		</section>
	</section>
</div>
